import { type NavigationGuardReturn, type RouteLocationNormalized } from 'vue-router'

// 全局前置导航守卫
export const beforeEach = (to: RouteLocationNormalized): NavigationGuardReturn => {
  // 如果原本就在登录页,则不要求 token
  if (to.path === '/login') {
    return true
  }

  const token = localStorage.getItem('TOKEN')
  if (!token) {
    // 去登录页
    return '/login'
  }

  // 当前路由没有匹配到任何路由记录
  // if (to.matched.length === 0) {
  //   router.push(to.fullPath)
  // }
  return true
}

// 全局后置导航守卫
export const afterEach = (): NavigationGuardReturn => {}

// 对于 component 的调整
// 检索目录下所有的 vue 文件
const modules = import.meta.glob('@renderer/views/**/*.vue')
// console.log(modules)
const moduleMap = {}

Object.keys(modules).forEach((key) => {
  // 只留下路径中间的一部分
  const componentName = key
    .replace('/src/views', '')
    .replace('.vue', '')
    .replace('/index', '')
    .replace('/', '')
  if (key.includes('index')) {
    moduleMap[`${componentName}/index`] = modules[key]
  }
  moduleMap[componentName] = modules[key]
})
